#ifndef _DRAWINGS_COMMON_OPENGL_DRAWS_H_
#define _DRAWINGS_COMMON_OPENGL_DRAWS_H_
//-----------------------------------------------------------------------------------------------------//
//																	                                   //
// opengl_draws.h  contains definitions of common draw functions using opengl                          //
//																									   //
// author	: Eng. Ahmed Yasser																		   //
// data		: 21-01-2015																			   //
//																	                                   //
//-----------------------------------------------------------------------------------------------------//

#include <GL\glew.h>
#include <GL\freeglut.h>
#include <string>

/////////////////////////////////////////////////////////////////////////////////////////////////////////
// name		: draw_point																			   //
//																									   //
// desc		: draws a point on the opengl window													   //
//																									   //
// params	:																						   //
//		float x	: the x position of the point													   //
//		float y	: the y position of the point													   //
//		float r	: the red color of the point													   //
//		float g	: the green color of the point													   //
//		float b	: the blue color of the point													   //
//		float a	: the alpha color of the point													   //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void draw_point(float x, float y, float r, float g, float b, float a);

/////////////////////////////////////////////////////////////////////////////////////////////////////////
// name		: draw_line																				   //
//																									   //
// desc		: draws a line on the opengl window													       //
//																									   //
// params	:																						   //
//		float width	: the width of the line															   //
//		float sx	: the start x position of the line												   //
//		float sy	: the start y position of the line												   //
//		float ex	: the end x position of the line												   //
//		float ey	: the end y position of the line												   //
//		float r	: the red color of the line														   //
//		float g	: the green color of the line													   //
//		float b	: the blue color of the line													   //
//		float a	: the alpha color of the line													   //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void draw_line(float width, float sx, float sy, float ex, float ey, float r, float g, float b, float a);

/////////////////////////////////////////////////////////////////////////////////////////////////////////
// name		: draw_string																			   //
//																									   //
// desc		: draws a text on the opengl window													       //
//																									   //
// params	:																						   //
//		bool large : use the large font																   //
//		std::string string	: the string to be drawed of the text									   //
//		float x	: the x position of the text													   //
//		float y	: the y position of the text													   //
//		float r	: the red color of the text													       //
//		float g	: the green color of the text													   //
//		float b	: the blue color of the text													   //
//		float a	: the alpha color of the text													   //
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void draw_string(bool large, std::string string, float x, float y, float r, float g, float b, float a);

#endif